package org.villacoapa.util
{
	import mx.validators.EmailValidator;
	import mx.validators.PhoneNumberValidator;
	import mx.validators.StringValidator;
	import mx.validators.ZipCodeValidator;
	
	public class CustomValidator
	{
		private static var requiredFieldError:String = "Este campo es requerido";
		private static var invalidCharError:String = "El campo tiene caracteres invalidos";
		
		public static function getCustomNameValidator(source:Object, required:Boolean):StringValidator{
			var valNombre:StringValidator = new StringValidator();
			valNombre.source = source;
			valNombre.property = "text";
			valNombre.required=required;
			valNombre.requiredFieldError=requiredFieldError;
			valNombre.minLength=2;
			valNombre.tooShortError="Este campo debe tener por lo menos 2 caracteres";
			return valNombre;	
		}
		
		public static function getCustomPhoneValidator(source:Object, required:Boolean):PhoneNumberValidator{
			var valPhone:PhoneNumberValidator = new PhoneNumberValidator;
			valPhone.source = source;
			valPhone.property = "text"
			valPhone.required = required;
			valPhone.requiredFieldError = requiredFieldError;
			valPhone.invalidCharError = "Por favor introduza sólo números";
			valPhone.wrongLengthError = "El número debe de tener al menos 10 digitos. (Introduzca Lada)";
			return valPhone;
		}
		
		public static function getCustomEmailValidator(source:Object, required:Boolean):EmailValidator{
			var  valEmail:EmailValidator = new EmailValidator();
			valEmail.source = source;
			valEmail.property = "text"
			valEmail.required = required;
			valEmail.requiredFieldError = requiredFieldError;
			valEmail.missingAtSignError = "La dirección debe tener el símbolo @";
			valEmail.missingUsernameError = "La dirección debe tener nombre de usuario (nick)";
			valEmail.missingPeriodInDomainError = "El dominio de la dirección debe de tener al menos un punto";
			valEmail.invalidDomainError = "El dominio de la dirección no tiene el formato correcto";
			valEmail.invalidCharError = invalidCharError;
			return valEmail;
		}
		
		public static function getCustomZipCodeValidator(source:Object, required:Boolean):ZipCodeValidator{
			var valZip:ZipCodeValidator = new ZipCodeValidator();
			valZip.source = source;
			valZip.property = "text"
			valZip.required = required;
			valZip.requiredFieldError = requiredFieldError;
			valZip.invalidCharError = invalidCharError;
			valZip.wrongLengthError = "El código postal debe tener 5 digitos";
			valZip.invalidDomainError = "El código postal debe tener 5 digitos";
			valZip.wrongCAFormatError = "El código postal debe tener 5 digitos";
			return valZip;
		}
	}
	
	
	
	
	
}